package org.springframework.context.event;

import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationEvent;

/**
 * @Name ApplicationContextEvent
 * @Description: Spring 应用上下文事件 [抽象] 类
 * @Version v1.0.0
 * @Author: lichao
 * @Date: 2024-03-21 15:39:45
 **/
public class ApplicationContextEvent extends ApplicationEvent {
    /**
     * 构建一个 Spring 应用上下文事件
     *
     * @param source 事件最初发生的对象 [Spring 应用上下文]
     * @throws IllegalArgumentException 如果源为 null 时，抛出不合法的参数异常
     */
    public ApplicationContextEvent(Object source) {
        super(source);
    }

    /**
     * 获取事件最初发生的对象 [Spring 应用上下文]
     *
     * @return org.springframework.context.ApplicationContext Spring 应用上下文
     * @version v1.0.0
     * @author lichao
     * @date 2024-03-21 15:42:23
     */
    public final ApplicationContext getApplicationContext() {
        return (ApplicationContext) getSource();
    }

}

